import React, { Component } from 'react'
import PropsTypes from 'prop-types'
import { nanoid } from 'nanoid'
import './index.css'

class Header extends Component {
  // 对接收的props进行：类型、必要性的限制
  static propsTypes = {
    addTodo: PropsTypes.func.isRequired
  }

  handleKeyUp = (event) => {
    const { keyCode, target } = event
    // 判断是否是回车
    if (keyCode !== 13) return
    console.log('Header: ' + target.value)
    if (target.value.trim() === '') {
      alert('请输入你的任务名称，按回车键确认')
      return
    }
    // 准备好一个todo对象
    const todoObj = {
      id: nanoid(),
      name: target.value,
      done: false
    }
    this.props.todo(todoObj)

    target.value = ''
  }

  render() {
    return (
      <div className="todo-header">
        <input
          onKeyUp={this.handleKeyUp}
          type="text"
          placeholder="请输入你的任务名称，按回车键确认"
        />
      </div>
    )
  }
}

export default Header
